$bg-color: #fbfbfb;

.app-page {
  padding: 45px 0 0 0;
  min-height: 100vh;
  background: #f6f6f6;
  overflow: hidden;

  .header {
    z-index: 9999;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    text-align: center;
    background: $bg-color;
    box-shadow: 0 0 3px #ccc;

    .header-top {
      position: relative;
      height: 45px;
      border-bottom: 1px solid #eee;
      background: $bg-color;

      .logo {
        display: inline-block;
        width: 35px;
        height: 35px;
        margin-top: 4px;
        pointer-events: none;
      }
    }

    .open {
      position: absolute;
      top: 9px;
      left: 15px;
      cursor: pointer;

      i {
        display: block;
        margin-top: 6px;
        height: 2px;
        width: 25px;
        background: #999;
        transform-origin: right center;
        transition: 0.1s linear;
      }

      &.active {
        i:nth-child(1) {
          transform: rotate(-45deg);
        }

        i:nth-child(2) {
          opacity: 0;
        }

        i:nth-child(3) {
          transform: translateY(2px) rotate(45deg);
        }
      }
    }

    .nav-open {
      display: none;
      box-shadow: 1px 1px 5px #ccc;
      overflow: hidden;
      background: $bg-color;
      transition: 0.1s linear;
      &.active {
        display: block;
      }
    }

    .nav-title {
      display: inline-block;
      width: 50%;
      font-size: 16px;
      padding: 8px 0;
      color: #666;
      cursor: pointer;
      &:hover {
        background: rgba(0, 0, 0, 0.05);
      }
      &:active,
      &.active {
        background: rgba(0, 0, 0, 0.05);
      }
    }
  }

  .wrapper {
    margin: 0 0 60px 0;

    .children-nav {
      background: $bg-color;
      margin: 0 0 15px 0;
      padding: 10px 10px 5px;
      white-space: nowrap;
      overflow: auto;
      box-shadow: 0 0 3px #ccc;

      .tag {
        position: relative;
        display: inline-block;
        font-size: 14px;
        padding: 3px 5px;
        margin: 0 3px 5px 0;
        transition: background 0.1s linear;
        color: #333;
      }

      .active::after {
        content: '';
        position: absolute;
        bottom: 5px;
        left: 50%;
        width: 50%;
        transform: translateX(-50%);
        height: 3px;
        border-radius: 2px;
        background: #20a0ff;
      }
    }

    .block-title {
      padding: 10px 0 10px 15px;
      border-bottom: 1px solid #eee;
      color: #3f51b5;
    }
  }
}
